using System;
using System.Collections.Generic;

namespace SchedulerLib
{
    /// <summary>
    /// 命令接口
    /// </summary>
    public interface ICommand
    {
        /// <summary>
        /// 命令Id
        /// </summary>
        int Id { get; set; }

        /// <summary>
        /// 引用计数
        /// </summary>
        int RefCount { get; set; }

        /// <summary>
        /// 优先级
        /// </summary>
        int Priority { get; set; }

        /// <summary>
        /// 执行类型
        /// </summary>
        ExecuteType ExecuteType { get; set; }

        /// <summary>
        /// 前一个命令Id
        /// </summary>
        int PreviousId { get; set; }

        /// <summary>
        /// 后一个命令Id
        /// </summary>
        int NextId { get; set; }

        /// <summary>
        /// 执行方法
        /// </summary>
        Action Action { get; set; }
    }
}